import java.util.Map;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: 17655
 * Date: 2025-02-12
 * Time: 23:42
 */
public class test2 {
    // 题目
    /**
     * 判断字符是否唯一
     */

    // 解题思路：
    /**
     * 一道简单题，运用哈希数组或者哈希表解决
     */

    //.哈希数组
    public boolean isUnique1(String astr) {
        if(astr.length()>26){
            return false;
        }
        int [] hash = new int[128];
        char []str=astr.toCharArray();
        for(int i=0;i<str.length;i++){
            hash[str[i]]++;
            if(hash[str[i]]>1){
                return false;
            }
        }
        return true;
    }

    // 哈希表
    public boolean isUnique2(String astr) {
        int n = astr.length();
        if(n>26){
            return false;
        }

        Map<Character,Integer> hash = new HashMap<>();
        for(int i =0;i<n;i++){
            hash.put(astr.charAt(i),hash.getOrDefault(astr.charAt(i),0)+1);
        }
        for(int i=0;i<n;i++){
            if(hash.get(astr.charAt(i))>1){
                return false;
            }
        }
        return true;
    }
}
